Software testing is an integral part of software development. Ideally, the data used when testing software will resemble live data that is expected when the software is deployed. However, for security reasons, live data is not always available.
For example, some software deals with personal or confidential information. A banking application may access a database that has names, addresses, social security numbers, and bank balances of customers. Besides possibly being in violation of the law, providing such information to testers may not be desirable because the testing environment might not otherwise need to have the security safeguards in place to adequately protect the data.
Accordingly, testing may be done with data that does not resemble live data. However, such an approach can easily lead to inadequate testing. As a result, certain problems with the software are later found after the application is put into production, leading to dissatisfied users.
Although there are certain data masking software packages available, they are not sufficiently flexible and do not lend themselves well to use in a variety of settings.
Therefore, there still remains need for technologies to address shortcomings of current data masking techniques.